import javax.swing.*;
import java.awt.*;


/**
 * @author pdx
 * 小游戏合集主菜单 - MVC架构版本
 */
public class MainMenu extends JFrame {

    public MainMenu() {
        // 设置窗口基本属性
        setTitle("小游戏合集主菜单");
        setSize(400, 300);
        // 居中
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 四行一列，按钮之间10像素间隔
        setLayout(new GridLayout(4, 1, 10, 10));

        // 创建按钮
        JButton snakeButton = new JButton("贪吃蛇");
        JButton fishButton = new JButton("大鱼吃小鱼");
        JButton mineButton = new JButton("扫雷");
        JButton exitButton = new JButton("退出游戏");

        // 添加按钮监听器
        snakeButton.addActionListener(e -> {
            // 启动贪吃蛇游戏（MVC架构）
            dispose(); // 关闭主菜单窗口
            com.gamecollection.snake.SnakeGame.main(new String[]{});
        });

        fishButton.addActionListener(e -> {
            // 启动大鱼吃小鱼游戏（MVC架构）
            dispose(); // 关闭主菜单窗口
            com.gamecollection.fish.FishGame.main(new String[]{});
        });

        mineButton.addActionListener(e -> {
            // 启动扫雷游戏（MVC架构）
            dispose(); // 关闭主菜单窗口
            com.gamecollection.minesweeper.MinesweeperGame.main(new String[]{});
        });

        exitButton.addActionListener(e -> System.exit(0));

        // 添加按钮到窗口
        add(snakeButton);
        add(fishButton);
        add(mineButton);
        add(exitButton);
    }

    public static void main(String[] args) {
        // 启动主菜单
        SwingUtilities.invokeLater(() -> {
            MainMenu menu = new MainMenu();
            menu.setVisible(true);
        });
    }
}